<?php

error_reporting(0);

/**
* Sistema de segurança com acesso restrito
*
* Usado para restringir o acesso de certas páginas do seu site
*
*
* @version 1.0
* @package SistemaSeguranca
*/

//  Configurações do Script
// ==============================
$_SG['conectaServidor'] = true;    // Abre uma conexão com o servidor MySQL?
$_SG['abreSessao'] = true;         // Inicia a sessão com um session_start()?
$_SG['caseSensitive'] = false;     // Usar case-sensitive? Onde 'thiago' é diferente de 'THIAGO'
$_SG['validaSempre'] = true;       // Deseja validar o usuário e a senha a cada carregamento de página?
// Evita que, ao mudar os dados do usuário no banco de dado o mesmo contiue logado.

/*
$_SG['servidor']	= 'localhost';	// Servidor MySQL Local
$_SG['usuario'] 	= 'root';       // Usuário MySQL Local
$_SG['senha'] 		= '';           // Senha MySQL Local

*/

$_SG['servidor']	= '25.151.44.24';	// Servidor MySQL Hamachi
$_SG['usuario'] 	= 'root2';       // Usuário MySQL Hamachi
$_SG['senha'] 		= 'Abcd1234';           // Senha MySQL Hamachi

$_SG['banco'] 		= 'dbEventos' ; // Banco de dados MySQL local e hamachi


/*
$_SG['servidor']	= 'dbmy0040.whservidor.com';	//Servidor WEB
$_SG['usuario'] 	= 'rcitecnolo_2';       		// Usuário MySQL WEB
$_SG['senha'] 		= 'A@b@c@d@25';           		// Senha MySQL WEB

$_SG['banco'] 		= 'rcitecnolo_2' ; 				// Banco de dados MySQL local e hamachi
*/



$_SG['paginaLogin'] = 'login.php' ; // Página de login
$_SG['tabela'] 		= 'tblUsuario'; // Nome da tabela onde os usuários são salvos
// ==============================

// ======================================
//   ~ Não edite a partir deste ponto ~
// ======================================


// Verifica se precisa fazer a conexão com o MySQL
if ($_SG['conectaServidor'] == true) {
$_SG['link'] = mysql_connect($_SG['servidor'], $_SG['usuario'], $_SG['senha']) or die("MySQL: Não foi possível conectar-se ao servidor [".$_SG['servidor']."].");
mysql_select_db($_SG['banco'], $_SG['link']) or die("MySQL: Não foi possível conectar-se ao banco de dados [".$_SG['banco']."].");
}


// Verifica se precisa iniciar a sessão
if ($_SG['abreSessao'] == true) {
session_start();
}

/**
* Função que valida um usuário e senha
*
* @param string $usuario - O usuário a ser validado
* @param string $senha - A senha a ser validada
*
* @return bool - Se o usuário foi validado ou não (true/false)
*/
function validaUsuario($usuario, $senha) {
global $_SG;

$cS = ($_SG['caseSensitive']) ? 'BINARY' : '';

// Usa a função addslashes para escapar as aspas
$nusuario = addslashes($usuario);
$nsenha = addslashes($senha);

// Monta uma consulta SQL (query) para procurar um usuário
//$sql = "SELECT `idUsuario`, `strLogin`, `idEmpresa`, `idPerfil`  FROM `".$_SG['tabela']."` WHERE ".$cS." `strLogin` = '".$nusuario."' AND ".$cS." `strSenha` = '".$nsenha."' LIMIT 1";

$sql = ("SELECT tblusuario.idUsuario AS idUsuario, tblusuario.strLogin AS strLogin, tblusuario.idEmpresa AS idEmpresa,
                tblusuario.idPerfil AS idPerfil, tbldadospessoais.strNome AS strNome, tbldadospessoais.strSexo AS strSexo
		FROM tblusuario , tbldadospessoais
		WHERE
		tbldadospessoais.idUsuario = tblusuario.idUsuario AND
		tblusuario.strLogin = '".$nusuario."' AND
		tblusuario.strSenha = '".$nsenha."' LIMIT 1");
	$query = mysql_query($sql);
	$resultado = mysql_fetch_assoc($query);


// Verifica se encontrou algum registro
if (empty($resultado)) {
// Nenhum registro foi encontrado => o usuário é inválido

return false;


} else {


// O registro foi encontrado => o usuário é valido

// Definimos tres valores na sessão com os dados do usuário
$_SESSION['idUsuario'] 		= $resultado['idUsuario']; // Pega o valor da coluna 'id do registro encontrado no MySQL
$_SESSION['strLogin'] 	    = $resultado['strLogin']; // Pega o valor da coluna 'nome' do registro encontrado no MySQL
$_SESSION['idEmpresa'] 		= $resultado['idEmpresa'];
$_SESSION['idPerfil'] 		= $resultado['idPerfil'];
$_SESSION['strNome']		= $resultado['strNome'];//Nome usuario logado
$_SESSION['strSexo']		= $resultado['strSexo'];//Sexo do usuario logado



// Verifica a opção se sempre validar o login
if ($_SG['validaSempre'] == true) {
// Definimos dois valores na sessão com os dados do login
$_SESSION['usuarioLogin'] = $usuario;
$_SESSION['usuarioSenha'] = $senha;
}

return true;



}
}

/**
* Função que protege uma página
*/
function protegePagina() {
global $_SG;

if (!isset($_SESSION['idUsuario']) OR !isset($_SESSION['strLogin'])) {
// Não há usuário logado, manda pra página de login
expulsaVisitante();
} else if (!isset($_SESSION['idUsuario']) OR !isset($_SESSION['strLogin'])) {
// Há usuário logado, verifica se precisa validar o login novamente
if ($_SG['validaSempre'] == true) {
// Verifica se os dados salvos na sessão batem com os dados do banco de dados
if (!validaUsuario($_SESSION['usuarioLogin'], $_SESSION['usuarioSenha'])) {
// Os dados não batem, manda pra tela de login
expulsaVisitante();
}
}
}
}

/**
* Função para expulsar um visitante
*/
function expulsaVisitante() {
global $_SG;

// Remove as variáveis da sessão (caso elas existam)
unset($_SESSION['idUsuario'], $_SESSION['strLogin'], $_SESSION['usuarioLogin'], $_SESSION['usuarioSenha'] , $_SESSION['idEmpresa']);

// Manda pra tela de login
header("Location: ".$_SG['paginaLogin']);
}


?>